1. Field of the Invention
This invention relates to data storage and, more particularly, to techniques for implementing volume sets in storage systems.
2. Description of the Related Art
Many business organizations and governmental entities rely upon applications that access large amounts of data, often exceeding a terabyte or more of data, for mission-critical applications. Often such data is stored on many different storage devices, which may be centrally located or distributed throughout an enterprise. Such storage devices may be heterogeneous in nature, including many different types of devices from many different manufacturers.
Configuring individual applications that consume data, or application server systems that host such applications, to recognize and directly interact with each different storage device that may possibly be encountered in a heterogeneous storage environment would be increasingly difficult as the environment scaled in size and complexity. Therefore, in some storage environments, specialized storage management software and hardware may be used to provide a more uniform storage model to storage consumers. Such software and hardware may also be configured to add storage features not present in individual storage devices to the storage model. For example, features to increase fault tolerance, such as data mirroring, snapshot/fixed image creation, or data parity, as well as features to increase data access performance, such as disk striping, may be implemented in the storage model via hardware or software.
Often storage is presented to storage consumers as discrete block devices or volumes, each of which may be managed by a storage consumer as a distinct device according to the input/output (I/O) conventions employed by the storage consumer (e.g., typically by virtue of an operating system). However, a storage consumer may wish to provision several volumes having different characteristics for a related purpose. In conventional implementations, such a consumer is required to manage each volume as a separate device, which may make device namespace management more difficult. For example, if the several related volumes were to be migrated from one consumer to another, each volume would have to be explicitly mounted on each new consumer. Further, ensuring that an identical device name is available on the new consumer may be difficult.